#include <iostream>
#include <vector>
#include <unistd.h>
#include <sys/types.h>
using namespace std;

const int num = 10;

void SubProcessRun()
{
  while(true)
  {
    cout << "I am sub process, pid: " << getpid() <<", ppid:"<< getppid()<< std::endl;
    sleep(5);
  }
}

int main()
{
  vector<pid_t> allchild;
  for(int i = 0; i < num; i++)
  {
    pid_t id = fork();
    if(id == 0)
    {
      //子进程
      SubProcessRun();
    }
    allchild.push_back(id);
  }

  cout << "我所有的孩子是:";
  for(auto child : allchild)
  {
    cout << child << " ";
  }
  cout <<endl;

  sleep(10);
  while(true)
  {
    cout << "我是父进程,pid:" << getpid() << endl;
    sleep(1);
  }

  return 0;
}
